"""
在文件中pyinstaller的路径处理
app_path定义在top级别的__init__.py
需要pip install pyinstaller
注意exe的图标--icon="*.ico"不一定会显示，因为缩放比例的原因
"""
import os
import sys
from typing import Optional
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication, QHBoxLayout, QLabel, QListWidget, QMainWindow, QPushButton, QWidget
from app import IMAGE_PATH, app_path

class MyWindowWidget(QMainWindow):
    """
    主窗口将显示这几种路径
    """
    def __init__(self, parent: Optional[QWidget] = None) -> None:
        super().__init__(parent=parent)
        self.__init_widget()
        self.__init_layout()
    
    def __init_widget(self):
        self.list = QListWidget()
        self.list.addItem("IMAGE PATH = " + IMAGE_PATH)
        self.list.addItem("APP PATH = " + app_path())

    def __init_layout(self):
        icon = QIcon(os.path.join(IMAGE_PATH, "tomato.png"))    # 此为标题栏的图标，非windows的exe图标
        self.setWindowIcon(icon)
        self.setCentralWidget(self.list)

if __name__ == "__main__":
    # 主流程控制，一个程序只能有一个QApplication，sys可以用于命令行导入
    app = QApplication(sys.argv)
    window = MyWindowWidget()
    window.show()
    sys.exit(app.exec())               # 控制程序安全退出
